package com.example.security.constraints;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

/**
 * 实现的接口有两个泛型，第一个参数指要验证的注解，第二个参数指该注解放在字段的类型
 * 这个类不需要加@Componet这些注解，由于该类实现了ConstraintValidator，spring会自动把类注入容器中
 */
public class MyConstraintsValidator implements ConstraintValidator<MyConstraints, Object> {
    @Override
    public void initialize(MyConstraints constraintAnnotation) {

    }

    @Override
    public boolean isValid(Object value, ConstraintValidatorContext context) {
        //value 指传进来的指  context 包含注解里面的值
        if(value == null || value == ""){
            //todo
            String msg = context.getDefaultConstraintMessageTemplate();
            System.out.println(msg);
            return false;
        }
        return true;
    }
}
